package com.kehutong.charge.entity;

import com.kehutong.charge.util.enums.ChargeStatusEnum;
import com.kehutong.common.entity.DataEntity;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

/**
 * @program: kht
 * @description: ChargeReFundManage
 * @author: joneron
 * @create: 2021/7/5
 **/
@Table(value="t_charge_refund_manage", comment="退款管理表",multi = true, idType = IDType.TIMESTAMP, engine = "innodb")
public class ChargeReFundManage extends DataEntity {

    protected ChargeReFundManage(String id) {
        super(id);
    }

    @Column(comment="小区编号")
    private String communityNo;

    @Column(comment="服务单号")
    private String serviceNo;

    @Column(comment="关联订单")
    private String orderNo;

    @Column(comment="订单子编号")
    private String orderItemNo;

    @Column(comment="账单编号")
    private String houseBillNo;

    @Column(comment="账单项编号")
    private String itemBillNo;

    @Column(comment="房屋编号")
    private String houseNo;

    @Column(comment="退款用户名")
    private String userName;

    @Column(comment="费用类型编号")
    private String feeTypeNo;

    @Column(comment="费用类型名称")
    private String feeTypeName;

    @Column(comment="退款用户编号")
    private String userNO;

    @Column(comment="申请人")
    private String applyName;

    @Column(comment="申请人编号")
    private String applyUserNo;

    @Column(comment="退款方式,默认1")
    private String refundMethod;

    @Column(comment="订单年月")
    private String orderYearMonth;

    @Column(comment="退款类型:取消订单？")
    private String refundType;

    @Column(comment="统一类型:常规ROUTINE，临时：INTERIM")
    private String orderOrigin;

    @Column(comment="退款金额")
    private BigDecimal refundAmount;

    @Column(comment="订单金额")
    private BigDecimal orderAmount;

    @Column(comment="状态")
    private ChargeStatusEnum applyStatus;

    @Column(length = 100,comment="处理备注")
    private String remark;

    @Column(length = 100,comment="原因")
    private String reason;

    @Column(comment="退款平台")
    private String refundPlatform;

    @Column(comment="第三方单号")
    private String thirdOderNo;

    @Column(comment="第三方状态")
    private boolean thirdStatus;

    @Column(comment="第三方退款时间")
    private String thirdTime;

    @Column(length = 100,comment="第三方原因")
    private String thirdReason;

    @JSONField(serialize = false)
    @Column(comment = "逻辑删除")
    private boolean deleted;

    @Column(comment="创建人")
    private String createName;

    @Column(comment="处理人")
    private String updateName;

    @Column(comment="处理人编号")
    private String updateNo;

    @Column(comment="处理时间")
    private Timestamp applyTime;


    public String getOrderYearMonth() {
        return orderYearMonth;
    }

    public void setOrderYearMonth(String orderYearMonth) {
        this.orderYearMonth = orderYearMonth;
    }

    public String getUpdateNo() {
        return updateNo;
    }

    public void setUpdateNo(String updateNo) {
        this.updateNo = updateNo;
    }

    public String getOrderOrigin() {
        return orderOrigin;
    }

    public void setOrderOrigin(String orderOrigin) {
        this.orderOrigin = orderOrigin;
    }

    public String getOrderItemNo() {
        return orderItemNo;
    }

    public void setOrderItemNo(String orderItemNo) {
        this.orderItemNo = orderItemNo;
    }

    public String getItemBillNo() {
        return itemBillNo;
    }

    public void setItemBillNo(String itemBillNo) {
        this.itemBillNo = itemBillNo;
    }

    public String getFeeTypeNo() {
        return feeTypeNo;
    }

    public void setFeeTypeNo(String feeTypeNo) {
        this.feeTypeNo = feeTypeNo;
    }

    public String getFeeTypeName() {
        return feeTypeName;
    }

    public void setFeeTypeName(String feeTypeName) {
        this.feeTypeName = feeTypeName;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public String getApplyName() {
        return applyName;
    }

    public void setApplyName(String applyName) {
        this.applyName = applyName;
    }

    public String getApplyUserNo() {
        return applyUserNo;
    }

    public void setApplyUserNo(String applyUserNo) {
        this.applyUserNo = applyUserNo;
    }

    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getHouseBillNo() {
        return houseBillNo;
    }

    public void setHouseBillNo(String houseBillNo) {
        this.houseBillNo = houseBillNo;
    }

    public Timestamp getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Timestamp applyTime) {
        this.applyTime = applyTime;
    }

    public String getServiceNo() {
        return serviceNo;
    }

    public void setServiceNo(String serviceNo) {
        this.serviceNo = serviceNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserNO() {
        return userNO;
    }

    public void setUserNO(String userNO) {
        this.userNO = userNO;
    }

    public String getRefundMethod() {
        return refundMethod;
    }

    public void setRefundMethod(String refundMethod) {
        this.refundMethod = refundMethod;
    }

    public String getRefundType() {
        return refundType;
    }

    public void setRefundType(String refundType) {
        this.refundType = refundType;
    }

    public BigDecimal getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(BigDecimal refundAmount) {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    public ChargeStatusEnum getApplyStatus() {
        return applyStatus;
    }

    public void setApplyStatus(ChargeStatusEnum applyStatus) {
        this.applyStatus = applyStatus;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public String getRefundPlatform() {
        return refundPlatform;
    }

    public void setRefundPlatform(String refundPlatform) {
        this.refundPlatform = refundPlatform;
    }

    public String getThirdOderNo() {
        return thirdOderNo;
    }

    public void setThirdOderNo(String thirdOderNo) {
        this.thirdOderNo = thirdOderNo;
    }

    public boolean isThirdStatus() {
        return thirdStatus;
    }

    public void setThirdStatus(boolean thirdStatus) {
        this.thirdStatus = thirdStatus;
    }

    public String getThirdTime() {
        return thirdTime;
    }

    public void setThirdTime(String thirdTime) {
        this.thirdTime = thirdTime;
    }

    public String getThirdReason() {
        return thirdReason;
    }

    public void setThirdReason(String thirdReason) {
        this.thirdReason = thirdReason;
    }
}
